// 退出
// 使用 os.Exit 来立即进行带给定状态的退出。
package main

import (
	"fmt"
	"os"
)

func main() {

	// 当使用 os.Exit 时 defer 将不会执行，所以这里的 fmt.Println 将永远不会被调用。
	defer fmt.Println("!")

	// 退出并且退出状态为 3。
	os.Exit(3)
}

// 注意，不像例如 C 语言，Go 不使用在 main 中返回一个整数来指明退出状态。如果你想以非零状态退出，那么你就要使用 os.Exit。

// 如果你使用 go run 来运行 65exit.go，那么退出状态将会被 go 捕获并打印。
// exit status 3

// 如果你使用编译后的文件来运行，则不会有什么反馈显示。
// 这里注意，"!" 将永远不会被打印
